package com.learnaop.javaaop.example.aop.service02.impl02;

import com.learnaop.javaaop.example.aop.service02.AopUsedService02;
import com.learnaop.javaaop.example.aop.vo.InputParam;
import org.springframework.stereotype.Service;

@Service
public class AopUsedService02Impl implements AopUsedService02 {
    // aop代理需要的方法
    @Override
    public void fun01() {
        System.out.println("--------------------");
        System.out.println("service02 fun01 execute ...");
        System.out.println("--------------------");
    }

    // aop代理需要的方法
    @Override
    public String fun02() {
        System.out.println("---------------------");
        System.out.println("service02 fun02 execute ...");
        System.out.println("---------------------");
        return "fun02";
    }

    // aop代理需要的方法
    @Override
    public String fun03(String something) {
        System.out.println("----------------------");
        System.out.println("service02 fun03 execute ...");
        System.out.println("----------------------");
        return "fun03";
    }

    @Override
    public String fun04(InputParam input) {
        System.out.println("-----------------------");
        System.out.println("service02 fun04 execute ...");
        System.out.println("-----------------------");
        return "fun04";
    }
}
